
/**
 * Content: Java泛型
 * --------------------------------------------------
 * 看了这篇Java 泛型通关指南，再也不怵满屏尖括号了: https://juejin.cn/post/7153454009125175310
 */

public class java_1700_泛型 {
    public static void main(String[] args) {

        // Java泛型
        System.out.println("--------------------Java泛型--------------------");

        DemoClass<String> demoClass = new DemoClass<>();

        demoClass.set("Hello XQZ!");

        System.out.println(demoClass.get());

    }
}

// 这种方式可以存储任意类型, 但是类型一旦初始化, 就只能存储这种类型
class DemoClass<T> {
    // T stands for "Type"
    private T t;

    public void set(T t) {
        this.t = t;
    }

    public T get() {
        return t;
    }

    // 泛型方法: <T>: 声明是一个泛型类型   String: 返回类型
    public <T> String test泛型(T obj) {
        return "";
    }
}

// 这种方式可以存储任意类型的数据
class DemoClass1 {
    private Object t;

    public void set(Object t) {
        this.t = t;
    }

    public Object get() {
        return t;
    }
}